home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xemacs.idb / usr / freeware / lib / xemacs-20.4 / lisp / skk / stack-m.elc.z / stack-m.elc
Emacs Compiled Lisp  |  1998-05-21  |  2.4 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was processed as: Emacs Compiled Lisp (other/emacsCompiledLisp).
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert Emacs Compiled Lisp (other/emacsCompiledLisp) magic Unsupported
100% file Emacs/XEmacs v20 byte-compiled Lisp data default
99% file data default
100% TrID Emacs/XEmacs byte-compiled Lisp (generic) default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 45 4c 43 14 00 00 00 | 0a 3b 3b 3b 20 63 6f 6d |;ELC....|.;;; com|
|00000010| 70 69 6c 65 64 20 62 79 | 20 73 74 65 76 65 40 61 |piled by| steve@a|
|00000020| 6c 74 61 69 72 2e 78 65 | 6d 61 63 73 2e 6f 72 67 |ltair.xe|macs.org|
|00000030| 20 6f 6e 20 54 68 75 20 | 4e 6f 76 20 32 30 20 31 | on Thu |Nov 20 1|
|00000040| 38 3a 30 34 3a 30 37 20 | 31 39 39 37 0a 3b 3b 3b |8:04:07 |1997.;;;|
|00000050| 20 66 72 6f 6d 20 66 69 | 6c 65 20 2f 68 6f 6d 65 | from fi|le /home|
|00000060| 2f 78 65 6d 61 63 73 2f | 32 30 2e 33 2f 78 65 6d |/xemacs/|20.3/xem|
|00000070| 61 63 73 2d 32 30 2e 33 | 2f 6c 69 73 70 2f 73 6b |acs-20.3|/lisp/sk|
|00000080| 6b 2f 73 74 61 63 6b 2d | 6d 2e 65 6c 0a 3b 3b 3b |k/stack-|m.el.;;;|
|00000090| 20 65 6d 61 63 73 20 76 | 65 72 73 69 6f 6e 20 32 | emacs v|ersion 2|
|000000a0| 30 2e 33 20 22 56 61 74 | 69 63 61 6e 20 43 69 74 |0.3 "Vat|ican Cit|
|000000b0| 79 22 20 58 45 6d 61 63 | 73 20 20 4c 75 63 69 64 |y" XEmac|s Lucid|
|000000c0| 2e 0a 3b 3b 3b 20 62 79 | 74 65 63 6f 6d 70 20 76 |..;;; by|tecomp v|
|000000d0| 65 72 73 69 6f 6e 20 32 | 2e 32 35 20 58 45 6d 61 |ersion 2|.25 XEma|
|000000e0| 63 73 3b 20 32 32 2d 4d | 61 72 2d 39 36 2e 0a 3b |cs; 22-M|ar-96..;|
|000000f0| 3b 3b 20 6f 70 74 69 6d | 69 7a 61 74 69 6f 6e 20 |;; optim|ization |
|00000100| 69 73 20 6f 6e 2e 0a 3b | 3b 3b 20 74 68 69 73 20 |is on..;|;; this |
|00000110| 66 69 6c 65 20 75 73 65 | 73 20 6f 70 63 6f 64 65 |file use|s opcode|
|00000120| 73 20 77 68 69 63 68 20 | 64 6f 20 6e 6f 74 20 65 |s which |do not e|
|00000130| 78 69 73 74 20 69 6e 20 | 45 6d 61 63 73 20 31 39 |xist in |Emacs 19|
|00000140| 2e 0a 0a 28 69 66 20 28 | 61 6e 64 20 28 62 6f 75 |...(if (|and (bou|
|00000150| 6e 64 70 20 27 65 6d 61 | 63 73 2d 76 65 72 73 69 |ndp 'ema|cs-versi|
|00000160| 6f 6e 29 0a 09 20 28 6f | 72 20 28 61 6e 64 20 28 |on).. (o|r (and (|
|00000170| 62 6f 75 6e 64 70 20 27 | 65 70 6f 63 68 3a 3a 76 |boundp '|epoch::v|
|00000180| 65 72 73 69 6f 6e 29 20 | 65 70 6f 63 68 3a 3a 76 |ersion) |epoch::v|
|00000190| 65 72 73 69 6f 6e 29 0a | 09 20 20 20 20 20 28 73 |ersion).|. (s|
|000001a0| 74 72 69 6e 67 2d 6c 65 | 73 73 70 20 65 6d 61 63 |tring-le|ssp emac|
|000001b0| 73 2d 76 65 72 73 69 6f | 6e 20 22 32 30 22 29 29 |s-versio|n "20"))|
|000001c0| 29 0a 20 20 20 20 28 65 | 72 72 6f 72 20 22 60 73 |). (e|rror "`s|
|000001d0| 74 61 63 6b 2d 6d 2e 65 | 6c 27 20 77 61 73 20 63 |tack-m.e|l' was c|
|000001e0| 6f 6d 70 69 6c 65 64 20 | 66 6f 72 20 45 6d 61 63 |ompiled |for Emac|
|000001f0| 73 20 32 30 22 29 29 0a | 0a 28 6f 72 20 28 62 6f |s 20")).|.(or (bo|
|00000200| 75 6e 64 70 20 27 63 75 | 72 72 65 6e 74 2d 6c 6f |undp 'cu|rrent-lo|
|00000210| 61 64 2d 6c 69 73 74 29 | 20 28 73 65 74 71 20 63 |ad-list)| (setq c|
|00000220| 75 72 72 65 6e 74 2d 6c | 6f 61 64 2d 6c 69 73 74 |urrent-l|oad-list|
|00000230| 20 6e 69 6c 29 29 0a 0a | 0a 28 62 79 74 65 2d 63 | nil))..|.(byte-c|
|00000240| 6f 64 65 20 22 c0 c1 21 | 88 c2 c3 0c 5c 22 14 c0 |ode "..!|....\"..|
|00000250| 87 22 20 5b 70 72 6f 76 | 69 64 65 20 73 74 61 63 |." [prov|ide stac|
|00000260| 6b 2d 6d 20 64 65 6c 71 | 20 73 74 61 63 6b 2d 66 |k-m delq| stack-f|
|00000270| 20 66 65 61 74 75 72 65 | 73 5d 20 33 29 0a 23 40 | feature|s] 3).#@|
|00000280| 32 39 20 43 72 65 61 74 | 65 20 61 6e 20 65 6d 70 |29 Creat|e an emp|
|00000290| 74 79 20 6c 69 66 6f 20 | 73 74 61 63 6b 2e 1f 0a |ty lifo |stack...|
|000002a0| 28 64 65 66 61 6c 69 61 | 73 20 27 73 74 61 63 6b |(defalia|s 'stack|
|000002b0| 2d 63 72 65 61 74 65 20 | 27 28 6d 61 63 72 6f 20 |-create |'(macro |
|000002c0| 2e 20 23 5b 6e 69 6c 20 | 22 c0 87 22 20 5b 28 63 |. #[nil |".." [(c|
|000002d0| 6f 6e 73 20 27 53 54 41 | 43 4b 20 6e 69 6c 29 5d |ons 'STA|CK nil)]|
|000002e0| 20 31 20 28 23 24 20 2e | 20 36 34 33 29 5d 29 29 | 1 (#$ .| 643)]))|
|000002f0| 0a 23 40 35 33 20 52 65 | 74 75 72 6e 20 74 20 69 |.#@53 Re|turn t i|
|00000300| 66 20 53 54 41 43 4b 20 | 69 73 20 61 20 73 74 61 |f STACK |is a sta|
|00000310| 63 6b 2c 20 6f 74 68 65 | 72 77 69 73 65 20 72 65 |ck, othe|rwise re|
|00000320| 74 75 72 6e 20 6e 69 6c | 2e 1f 0a 28 64 65 66 61 |turn nil|...(defa|
|00000330| 6c 69 61 73 20 27 73 74 | 61 63 6b 2d 70 20 27 28 |lias 'st|ack-p '(|
|00000340| 6d 61 63 72 6f 20 2e 20 | 23 5b 28 73 74 61 63 6b |macro . |#[(stack|
|00000350| 29 20 22 c0 c1 5c 6e 44 | c3 42 42 87 22 20 5b 65 |) "..\nD|.BB." [e|
|00000360| 71 20 63 61 72 2d 73 61 | 66 65 20 73 74 61 63 6b |q car-sa|fe stack|
|00000370| 20 28 27 53 54 41 43 4b | 29 5d 20 33 20 28 23 24 | ('STACK|)] 3 (#$|
|00000380| 20 2e 20 37 35 38 29 5d | 29 29 0a 23 40 35 33 20 | . 758)]|)).#@53 |
|00000390| 50 75 73 68 20 61 6e 20 | 65 6c 65 6d 65 6e 74 20 |Push an |element |
|000003a0| 6f 6e 74 6f 20 74 68 65 | 20 73 74 61 63 6b 2e 0a |onto the| stack..|
|000003b0| 41 72 67 73 3a 20 53 54 | 41 43 4b 20 45 4c 45 4d |Args: ST|ACK ELEM|
|000003c0| 45 4e 54 1f 0a 28 64 65 | 66 61 6c 69 61 73 20 27 |ENT..(de|falias '|
|000003d0| 73 74 61 63 6b 2d 70 75 | 73 68 20 27 28 6d 61 63 |stack-pu|sh '(mac|
|000003e0| 72 6f 20 2e 20 23 5b 28 | 73 74 61 63 6b 20 65 6c |ro . #[(|stack el|
|000003f0| 65 6d 65 6e 74 29 20 22 | c0 09 c2 0b c4 09 44 45 |ement) "|......DE|
|00000400| 45 87 22 20 5b 73 65 74 | 63 64 72 20 73 74 61 63 |E." [set|cdr stac|
|00000410| 6b 20 63 6f 6e 73 20 65 | 6c 65 6d 65 6e 74 20 63 |k cons e|lement c|
|00000420| 64 72 5d 20 36 20 28 23 | 24 20 2e 20 39 31 32 29 |dr] 6 (#|$ . 912)|
|00000430| 5d 29 29 0a 23 40 39 30 | 20 52 65 6d 6f 76 65 20 |])).#@90| Remove |
|00000440| 74 68 65 20 74 6f 70 6d | 6f 73 74 20 65 6c 65 6d |the topm|ost elem|
|00000450| 65 6e 74 20 66 72 6f 6d | 20 53 54 41 43 4b 20 61 |ent from| STACK a|
|00000460| 6e 64 20 72 65 74 75 72 | 6e 20 69 74 2e 20 0a 49 |nd retur|n it. .I|
|00000470| 66 20 74 68 65 20 73 74 | 61 63 6b 20 69 73 20 65 |f the st|ack is e|
|00000480| 6d 70 74 79 2c 20 72 65 | 74 75 72 6e 20 6e 69 6c |mpty, re|turn nil|
|00000490| 2e 1f 0a 28 64 65 66 61 | 6c 69 61 73 20 27 73 74 |...(defa|lias 'st|
|000004a0| 61 63 6b 2d 70 6f 70 20 | 27 28 6d 61 63 72 6f 20 |ack-pop |'(macro |
|000004b0| 2e 20 23 5b 28 73 74 61 | 63 6b 29 20 22 c0 c1 c2 |. #[(sta|ck) "...|
|000004c0| 0b 44 44 c4 0b c5 c2 0b | 44 44 45 45 87 22 20 5b |.DD.....|DDEE." [|
|000004d0| 70 72 6f 67 31 20 63 61 | 72 2d 73 61 66 65 20 63 |prog1 ca|r-safe c|
|000004e0| 64 72 20 73 74 61 63 6b | 20 73 65 74 63 64 72 20 |dr stack| setcdr |
|000004f0| 63 64 72 2d 73 61 66 65 | 5d 20 37 20 28 23 24 20 |cdr-safe|] 7 (#$ |
|00000500| 2e 20 31 30 38 31 29 5d | 29 29 0a 23 40 35 31 20 |. 1081)]|)).#@51 |
|00000510| 52 65 74 75 72 6e 20 74 | 20 69 66 20 53 54 41 43 |Return t| if STAC|
|00000520| 4b 20 69 73 20 65 6d 70 | 74 79 2c 20 6f 74 68 65 |K is emp|ty, othe|
|00000530| 72 77 69 73 65 20 72 65 | 74 75 72 6e 20 6e 69 6c |rwise re|turn nil|
|00000540| 2e 1f 0a 28 64 65 66 61 | 6c 69 61 73 20 27 73 74 |...(defa|lias 'st|
|00000550| 61 63 6b 2d 65 6d 70 74 | 79 20 27 28 6d 61 63 72 |ack-empt|y '(macr|
|00000560| 6f 20 2e 20 23 5b 28 73 | 74 61 63 6b 29 20 22 c0 |o . #[(s|tack) ".|
|00000570| c1 5c 6e 44 44 87 22 20 | 5b 6e 75 6c 6c 20 63 64 |.\nDD." |[null cd|
|00000580| 72 20 73 74 61 63 6b 5d | 20 33 20 28 23 24 20 2e |r stack]| 3 (#$ .|
|00000590| 20 31 32 39 36 29 5d 29 | 29 0a 23 40 36 30 20 52 | 1296)])|).#@60 R|
|000005a0| 65 74 75 72 6e 20 74 68 | 65 20 74 6f 70 6d 6f 73 |eturn th|e topmos|
|000005b0| 74 20 65 6c 65 6d 65 6e | 74 20 6f 66 20 53 54 41 |t elemen|t of STA|
|000005c0| 43 4b 20 6f 72 20 6e 69 | 6c 20 69 66 20 69 74 20 |CK or ni|l if it |
|000005d0| 69 73 20 65 6d 70 74 79 | 2e 1f 0a 28 64 65 66 61 |is empty|...(defa|
|000005e0| 6c 69 61 73 20 27 73 74 | 61 63 6b 2d 74 6f 70 20 |lias 'st|ack-top |
|000005f0| 27 28 6d 61 63 72 6f 20 | 2e 20 23 5b 28 73 74 61 |'(macro |. #[(sta|
|00000600| 63 6b 29 20 22 c0 c1 5c | 6e 44 44 87 22 20 5b 63 |ck) "..\|nDD." [c|
|00000610| 61 72 2d 73 61 66 65 20 | 63 64 72 20 73 74 61 63 |ar-safe |cdr stac|
|00000620| 6b 5d 20 33 20 28 23 24 | 20 2e 20 31 34 33 39 29 |k] 3 (#$| . 1439)|
|00000630| 5d 29 29 0a 23 40 31 35 | 39 20 52 65 74 75 72 6e |])).#@15|9 Return|
|00000640| 20 6e 74 68 20 65 6c 65 | 6d 65 6e 74 20 6f 66 20 | nth ele|ment of |
|00000650| 61 20 73 74 61 63 6b 2c | 20 62 75 74 20 64 6f 6e |a stack,| but don|
|00000660| 27 74 20 72 65 6d 6f 76 | 65 20 69 74 2e 0a 41 72 |'t remov|e it..Ar|
|00000670| 67 73 3a 20 53 54 41 43 | 4b 20 4e 0a 49 66 20 74 |gs: STAC|K N.If t|
|00000680| 68 65 20 6c 65 6e 67 74 | 68 20 6f 66 20 74 68 65 |he lengt|h of the|
|00000690| 20 73 74 61 63 6b 20 69 | 73 20 6c 65 73 73 20 74 | stack i|s less t|
|000006a0| 68 61 6e 20 4e 2c 20 72 | 65 74 75 72 6e 20 6e 69 |han N, r|eturn ni|
|000006b0| 6c 2e 0a 0a 54 68 65 20 | 74 6f 70 20 73 74 61 63 |l...The |top stac|
|000006c0| 6b 20 65 6c 65 6d 65 6e | 74 20 68 61 73 20 6e 75 |k elemen|t has nu|
|000006d0| 6d 62 65 72 20 30 2e 1f | 0a 28 64 65 66 61 6c 69 |mber 0..|.(defali|
|000006e0| 61 73 20 27 73 74 61 63 | 6b 2d 6e 74 68 20 27 28 |as 'stac|k-nth '(|
|000006f0| 6d 61 63 72 6f 20 2e 20 | 23 5b 28 73 74 61 63 6b |macro . |#[(stack|
|00000700| 20 6e 29 20 22 c0 09 c2 | 0b 44 45 87 22 20 5b 6e | n) "...|.DE." [n|
|00000710| 74 68 20 6e 20 63 64 72 | 20 73 74 61 63 6b 5d 20 |th n cdr| stack] |
|00000720| 34 20 28 23 24 20 2e 20 | 31 35 39 34 29 5d 29 29 |4 (#$ . |1594)]))|
|00000730| 0a 23 40 38 36 20 52 65 | 74 75 72 6e 20 61 20 6c |.#@86 Re|turn a l|
|00000740| 69 73 74 20 6f 66 20 61 | 6c 6c 20 65 6e 74 72 69 |ist of a|ll entri|
|00000750| 65 73 20 69 6e 20 53 54 | 41 43 4b 2e 0a 54 68 65 |es in ST|ACK..The|
|00000760| 20 65 6c 65 6d 65 6e 74 | 20 6c 61 73 74 20 70 75 | element| last pu|
|00000770| 73 68 65 64 20 69 73 20 | 66 69 72 73 74 20 69 6e |shed is |first in|
|00000780| 20 74 68 65 20 6c 69 73 | 74 2e 1f 0a 28 64 65 66 | the lis|t...(def|
|00000790| 61 6c 69 61 73 20 27 73 | 74 61 63 6b 2d 61 6c 6c |alias 's|tack-all|
|000007a0| 20 27 28 6d 61 63 72 6f | 20 2e 20 23 5b 28 73 74 | '(macro| . #[(st|
|000007b0| 61 63 6b 29 20 22 c0 09 | 44 87 22 20 5b 63 64 72 |ack) "..|D." [cdr|
|000007c0| 20 73 74 61 63 6b 5d 20 | 32 20 28 23 24 20 2e 20 | stack] |2 (#$ . |
|000007d0| 31 38 34 36 29 5d 29 29 | 0a 23 40 36 33 20 52 65 |1846)]))|.#@63 Re|
|000007e0| 74 75 72 6e 20 61 20 63 | 6f 70 79 20 6f 66 20 53 |turn a c|opy of S|
|000007f0| 54 41 43 4b 2e 0a 41 6c | 6c 20 65 6e 74 72 69 65 |TACK..Al|l entrie|
|00000800| 73 20 69 6e 20 53 54 41 | 43 4b 20 61 72 65 20 61 |s in STA|CK are a|
|00000810| 6c 73 6f 20 63 6f 70 69 | 65 64 2e 1f 0a 28 64 65 |lso copi|ed...(de|
|00000820| 66 61 6c 69 61 73 20 27 | 73 74 61 63 6b 2d 63 6f |falias '|stack-co|
|00000830| 70 79 20 27 28 6d 61 63 | 72 6f 20 2e 20 23 5b 28 |py '(mac|ro . #[(|
|00000840| 73 74 61 63 6b 29 20 22 | c0 c1 c2 c3 0c 44 44 45 |stack) "|.....DDE|
|00000850| 87 22 20 5b 63 6f 6e 73 | 20 27 53 54 41 43 4b 20 |." [cons| 'STACK |
|00000860| 63 6f 70 79 2d 73 65 71 | 75 65 6e 63 65 20 63 64 |copy-seq|uence cd|
|00000870| 72 20 73 74 61 63 6b 5d | 20 35 20 28 23 24 20 2e |r stack]| 5 (#$ .|
|00000880| 20 32 30 31 34 29 5d 29 | 29 0a 23 40 34 31 20 52 | 2014)])|).#@41 R|
|00000890| 65 74 75 72 6e 20 74 68 | 65 20 6e 75 6d 62 65 72 |eturn th|e number|
|000008a0| 20 6f 66 20 65 6c 65 6d | 65 6e 74 73 20 6f 6e 20 | of elem|ents on |
|000008b0| 53 54 41 43 4b 2e 1f 0a | 28 64 65 66 61 6c 69 61 |STACK...|(defalia|
|000008c0| 73 20 27 73 74 61 63 6b | 2d 6c 65 6e 67 74 68 20 |s 'stack|-length |
|000008d0| 27 28 6d 61 63 72 6f 20 | 2e 20 23 5b 28 73 74 61 |'(macro |. #[(sta|
|000008e0| 63 6b 29 20 22 c0 c1 5c | 6e 44 44 87 22 20 5b 6c |ck) "..\|nDD." [l|
|000008f0| 65 6e 67 74 68 20 63 64 | 72 20 73 74 61 63 6b 5d |ength cd|r stack]|
|00000900| 20 33 20 28 23 24 20 2e | 20 32 31 39 31 29 5d 29 | 3 (#$ .| 2191)])|
|00000910| 29 0a 23 40 33 33 20 52 | 65 6d 6f 76 65 20 61 6c |).#@33 R|emove al|
|00000920| 6c 20 65 6c 65 6d 65 6e | 74 73 20 66 72 6f 6d 20 |l elemen|ts from |
|00000930| 53 54 41 43 4b 2e 1f 0a | 28 64 65 66 61 6c 69 61 |STACK...|(defalia|
|00000940| 73 20 27 73 74 61 63 6b | 2d 63 6c 65 61 72 20 27 |s 'stack|-clear '|
|00000950| 28 6d 61 63 72 6f 20 2e | 20 23 5b 28 73 74 61 63 |(macro .| #[(stac|
|00000960| 6b 29 20 22 c0 09 c2 42 | 42 87 22 20 5b 73 65 74 |k) "...B|B." [set|
|00000970| 63 64 72 20 73 74 61 63 | 6b 20 28 6e 69 6c 29 5d |cdr stac|k (nil)]|
|00000980| 20 33 20 28 23 24 20 2e | 20 32 33 32 37 29 5d 29 | 3 (#$ .| 2327)])|
|00000990| 29 0a | |). | |
+--------+-------------------------+-------------------------+--------+--------+